home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d18 / nrpas13.arc / MPROVE.PAS < prev    next >
Pascal/Delphi Source File  |  1991-05-01  |  633b  |  26 lines

  1. PROCEDURE mprove(a,alud: glnpbynp; n,np: integer; indx: glindx;
  2.        b: glnarray; VAR x: glnarray);
  3. (* Programs using routine MPROVE must define the types
  4. TYPE
  5.    glnarray = ARRAY [1..n] OF real;
  6.    glindx = ARRAY [1..n] OF integer;
  7.    glnpbynp = ARRAY [1..np,1..np] OF real;
  8. in the main routine. *)
  9. VAR
  10.    j,i: integer;
  11.    sdp: double;
  12.    r: glnarray;
  13. BEGIN
  14.    FOR i := 1 TO n DO BEGIN
  15.       sdp := -b[i];
  16.       FOR j := 1 TO n DO BEGIN
  17.          sdp := sdp+a[i,j]*x[j]
  18.       END;
  19.       r[i] := sngl(sdp)
  20.    END;
  21.    lubksb(alud,n,np,indx,r);
  22.    FOR i := 1 TO n DO BEGIN
  23.       x[i] := x[i]-r[i]
  24.    END
  25. END;
  26.